COLLECTIVE PROGRAMMING